N>>1是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:35:21
在C++中是什么意思?
什么右移一位?

对给定的数N,将其二进制表示按位向右移动1位,高位补零,低位自动舍弃。比如12的二进制是1100(前面的0就不写了),按位移动动后编程0110即十进制的6。
在以前,通过按位移动来将一个数扩大或缩小2的倍数会提高程序运行的效率,但现代优化的编译器一般能自动识别这种情况,获得和N>>1一样的执行效率。移位有可能导致不希望的结果发生,比如溢出,被零除等。不推荐使用。

右移一位
就是位运算将二进制数右移一位,可以看C语言书